Skip to content

Mtl release#2082

Open
filipleple wants to merge 16 commits intolinuxboot:masterfrom
Dasharo:mtl_release
Open

Mtl release#2082
filipleple wants to merge 16 commits intolinuxboot:masterfrom
Dasharo:mtl_release

Conversation

@filipleple
Copy link
Copy Markdown
Contributor

@filipleple filipleple commented Apr 9, 2026

This pull request updates the build configuration for NovaCustom V540TU and V560TU boards, focusing on switching from Clevo to NovaCustom mainboard definitions, updating the build environment, and aligning with the Dasharo EC and firmware stack. The changes improve consistency, bring in newer firmware components, and update several settings for hardware compatibility and feature support.

CI Environment Update:

  • Updated the Docker image used in .circleci/config.yml jobs from tlaurion/heads-dev-env:v0.2.7 to v0.2.9 to ensure builds use the latest development environment. [1] [2] [3] [4]

Board and Mainboard Configuration:

  • Switched mainboard vendor and directory from Clevo to NovaCustom in config/coreboot-novacustom-v540tu.config, and enabled the appropriate NovaCustom board options. This aligns the configuration with the actual hardware and firmware stack. [1] [2] [3] [4]
  • Added CONFIG_DASHARO_EC=y to both boards/novacustom-v540tu/novacustom-v540tu.config and boards/novacustom-v560tu/novacustom-v560tu.config to enable Dasharo EC support. [1] [2]

Firmware and Embedded Controller:

  • Switched from System76 EC to Dasharo EC, including update support and battery thresholds, and set the EC update file.
  • Updated coreboot local version to v1.0.1, adjusted FSP paths and types, and enabled several new firmware and memory settings for improved hardware compatibility and debugging. [1] [2] [3] [4] [5] [6] [7] [8] [9]

Feature and Peripheral Configuration:

  • Disabled bootsplash, enabled SPI flash SMM mode, and set additional device and debug options. [1] [2]
  • Added or updated several vendor and hardware support options, including PCIe, memory, and debug settings. [1] [2] [3] [4] [5]

These changes collectively modernize the firmware configuration for NovaCustom V540TU/V560TU, improve maintainability, and ensure compatibility with Dasharo EC and the latest coreboot features.

macpijan and others added 3 commits April 9, 2026 16:18
Squashed from:
tlaurion@2df1c8b
tlaurion@447d464

then, updated EC revision as per:
Dasharo/ec#82 (comment)

Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
Required to to build dasharo-ec module.

Need to pin SDCC version to 4.2.0 to avoid
Dasharo/dasharo-issues#1785
and be in sync with ec-sdk:
Dasharo/ec-sdk#2

Using 3.8.0 in nix toolchain (as originally used in ec-sdk)
was not feasible:
linuxboot#2062 (comment)

Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
…mal changes to build Dasharo-EC

Signed-off-by: Thierry Laurion <insurgo@riseup.net>

ifeq "novacustom-v560tu" "$(BOARD)"

export CONFIG_COREBOOT_LOCALVERSION="\(coreboot+heads\) v0.9.1"
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

?

CONFIG_SOFTWARE_CONNECTION_MANAGER=y
CONFIG_SOC_INTEL_COMMON_BLOCK_VTD=y
CONFIG_ENABLE_EARLY_DMA_PROTECTION=y
# CONFIG_ENABLE_EARLY_DMA_PROTECTION is not set
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not fixed by bumping fsp?

CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
CONFIG_LINEAR_FRAMEBUFFER=y
CONFIG_BOOTSPLASH=y
# CONFIG_BOOTSPLASH is not set
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please review config from other pr

ifeq "novacustom-v560tu" "$(BOARD)"

export CONFIG_COREBOOT_LOCALVERSION="\(coreboot+heads\) v0.9.1"
export CONFIG_COREBOOT_SMBIOS_PRODUCT_NAME="V54x_6x_TU"
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

branding overrides (bootslash and site-local/config should be in dasharo fork not upstream

Copy link
Copy Markdown
Collaborator

@tlaurion tlaurion left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see review, most importantly bootsplash removal, site-local override and coreboot cojfigs in oldconfig which seem still uefi release oriented.

- Remove leading tabs from ifeq variable assignments (Make parse error)
- Move post-build steps (cp, dd, touch) out of dasharo-ec_target into
  a proper Make rule; _target is now only make arguments
- Set dasharo-ec_output to ec.rom (the actual artifact, not .built)
- Add -$(BOARD) suffix to dasharo-ec_base_dir and dasharo-ec_dir so
  v540tu and v560tu maintain independent build trees and ec.rom files
- Add explicit rule to copy and zero-pad ec.rom to 128 KB
- Fix coreboot copy rule: use FORCE + cmp so the recipe always runs
  but only updates the destination (and its mtime) when content differs,
  preventing the mtime race between boards sharing coreboot_base_dir

Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
@tlaurion
Copy link
Copy Markdown
Collaborator

tlaurion commented Apr 9, 2026

Can't boot qubesos 4.3 iso from this PR nor the other (worst : kernel oops there), here cannot get anaconda.

Can you boot anything?

Also both PR have different coreboot commit and different platform names in config

PXL_20260409_214802098~2.jpg

@tlaurion
Copy link
Copy Markdown
Collaborator

tlaurion commented Apr 10, 2026

One cannot internally upgrade from heads on v540tu either since platforms strings don't match

Notebook (rom) != Clevo (smibios)

PXL_20260410_015953830.jpg

tlaurion added a commit to tlaurion/heads that referenced this pull request Apr 10, 2026
…with make BOARD=X coreboot.save_in_oldconfig_format_in_place helper

Signed-off-by: Thierry Laurion <insurgo@riseup.net>
tlaurion added a commit to tlaurion/heads that referenced this pull request Apr 10, 2026
…with make BOARD=X coreboot.save_in_oldconfig_format_in_place helper

Signed-off-by: Thierry Laurion <insurgo@riseup.net>
@tlaurion
Copy link
Copy Markdown
Collaborator

tlaurion commented Apr 10, 2026

@filipleple please review commit logs of https://github.com/linuxboot/heads/pull/2039/commits

One of those regression testing done in january 4th was f82d7e8


diff --git a/config/coreboot-novacustom-v540tu.config b/config/coreboot-novacustom-v540tu.config
index 25a89cc08c..c9c6776986 100644
--- a/config/coreboot-novacustom-v540tu.config
+++ b/config/coreboot-novacustom-v540tu.config
@@ -126,7 +126,7 @@ CONFIG_DIMM_MAX=4
 CONFIG_DIMM_SPD_SIZE=1024
 CONFIG_FMDFILE=""
 # CONFIG_NO_POST is not set
-CONFIG_MAINBOARD_VENDOR="Notebook"
+CONFIG_MAINBOARD_VENDOR="Clevo"
 CONFIG_CBFS_SIZE=0x1000000
 # CONFIG_CONSOLE_SERIAL is not set
 CONFIG_MAX_CPUS=22
diff --git a/config/coreboot-novacustom-v560tu.config b/config/coreboot-novacustom-v560tu.config
index 9581535533..e82a56eb2d 100644
--- a/config/coreboot-novacustom-v560tu.config
+++ b/config/coreboot-novacustom-v560tu.config
@@ -126,7 +126,7 @@ CONFIG_DIMM_MAX=4
 CONFIG_DIMM_SPD_SIZE=1024
 CONFIG_FMDFILE=""
 # CONFIG_NO_POST is not set
-CONFIG_MAINBOARD_VENDOR="Notebook"
+CONFIG_MAINBOARD_VENDOR="Clevo"
 CONFIG_CBFS_SIZE=0x1000000
 # CONFIG_CONSOLE_SERIAL is not set
 CONFIG_MAX_CPUS=22

If not, we have a problem, we agreed on Clevo string back in #1913. We cannot change it otherwise internal flashing won't be possible.

@tlaurion
Copy link
Copy Markdown
Collaborator

Please diff coreboot configs vs pre_release_dasharo_101_rc3 and explain/adapt:

  • CONFIG_IFDTOOL_DISABLE_ME is not set
  • CONFIG_DASHARO_FIRMWARE_UPDATE_MODE=y
  • CONFIG_DRIVERS_GENERIC_CBFS_SERIAL=y
  • CONFIG_USE_PC_CMOS_ALTCENTURY=y
  • CONFIG_INTEL_ACM=y
  • CONFIG_MAINBOARD_VENDOR="Notebook"

@filipleple
Copy link
Copy Markdown
Contributor Author

filipleple commented Apr 10, 2026

@tlaurion yes I managed to successfully flash, run, and boot Qubes OS (on v56) and DTS (both v56 and v54). Though, I've gone the Ignore everything and just boot route, haven't yet tested reownership and TOTP/HOTP. I didn't run into the flashing issue since I was flashing from our EDK2 release, where we'd switched from Clevo to Notebook quite a while ago.

I'm not sure if there's any problem settling for the Clevo string for heads releases though, @mkopec do you know of any contraindications? Should there be any, you can still flash with flashprog -p internal:boardmismatch=force in the recovery shell, as is prompted in your screenshots. I think the reason of switching was to add custom systemd hwdb quirks for keybindings that would apply only to us, without affecting other Clevo platforms, but I'm not sure.

Since I have the core of the release done, that's building and booting both platforms from the new revision including a successful EC update on both, I'll now get to inspecting the minute config differences and looking for anything I'm missing from #2039. Thank you for being proactive and helping out.

UPDATE:

  • CONFIG_IFDTOOL_DISABLE_ME is not set - adapted
  • CONFIG_DASHARO_FIRMWARE_UPDATE_MODE=y - adapted
  • CONFIG_DRIVERS_GENERIC_CBFS_SERIAL=y - adapted
  • CONFIG_USE_PC_CMOS_ALTCENTURY=y - explanation: necessary, the byte is present and valid on MTL, after unsetting this option I get a System Time Incorrect prompt on each boot.
  • CONFIG_INTEL_ACM=y - adapted
  • CONFIG_MAINBOARD_VENDOR="Notebook" - adapted, changed back to Clevo for now

@filipleple filipleple force-pushed the mtl_release branch 2 times, most recently from 2245a11 to f9a56fa Compare April 10, 2026 11:08
@filipleple
Copy link
Copy Markdown
Contributor Author

filipleple commented Apr 10, 2026

@tlaurion I've minimized the diff of the configs. Currently, the boards build and boot. I've also applied the split into multiple dasharo_* revisions of coreboot, and power efficiency patch.

EDIT: looks like the CI fails are caused by CI cache invalidation exposing pre-existing problems, not by actual bugs in this PR, so ignoring them

@filipleple filipleple marked this pull request as ready for review April 10, 2026 11:24
@filipleple filipleple requested a review from tlaurion April 10, 2026 11:24
@tlaurion
Copy link
Copy Markdown
Collaborator

tlaurion commented Apr 11, 2026

@tlaurion I've minimized the diff of the configs. Currently, the boards build and boot. I've also applied the split into multiple dasharo_* revisions of coreboot, and power efficiency patch.

EDIT: looks like the CI fails are caused by CI cache invalidation exposing pre-existing problems, not by actual bugs in this PR, so ignoring them

pushed additional 3 commits to account for changes under #2039.

nv4x_adl does't build local for me still

./docker_repro.sh make BOARD=novacustom-nv4x_adl V=1
[...]
/home/user/heads-master/build/x86/coreboot-dasharo_nv4x/util/crossgcc/xgcc/bin/i386-elf-gcc -MMD -Isrc -Isrc/include -Isrc/commonlib/include -Isrc/commonlib/bsd/include -Inovacustom-nv4x_adl -I3rdparty/vboot/firmware/include -include src/include/kconfig.h -include src/include/rules.h -include src/commonlib/bsd/include/commonlib/bsd/compiler.h -I3rdparty -D__BUILD_DIR__=\"novacustom-nv4x_adl\" -D__COREBOOT__ -D__TIMELESS__ -Isrc/ec/intel -Isrc/soc/intel/alderlake -Isrc/soc/intel/alderlake/include -Isrc/drivers/intel/fsp2_0/include -I"3rdparty/fsp/AlderLakeFspBinPkg/Client/AlderLakeP/Include/" -Isrc/mainboard/clevo/adl-p/include -Isrc/soc/intel/common/basecode/include/ -Isrc/soc/intel/common/block/include/ -Isrc/soc/intel/common/pch/include/ -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include -Isrc/vendorcode/intel/edk2/edk2-stable202005/IntelFsp2Pkg/Include -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdeModulePkg/Include -Isrc/vendorcode/dasharo/include/ -Isrc/soc/intel/common/block/fast_spi -Isrc/arch/x86/include -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Ia32 -D__ARCH_x86_32__ -pipe -g -nostdinc -std=gnu11 -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wimplicit-fallthrough -Wshadow -Wdate-time -Wtype-limits -Wvla -Wold-style-definition -Wdangling-else -Wmissing-include-dirs -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -fno-pie -Wstring-compare -Wold-style-declaration -Wcast-function-type -Wno-packed-not-aligned -fconserve-stack -Wnull-dereference -Wlogical-op -Wduplicated-cond -Wno-array-compare -Werror -Os -Wno-address-of-packed-member --param=min-pagesize=1024 -Wflex-array-member-not-at-end -Wcalloc-transposed-args -Wno-unused-parameter -Wno-sign-compare -Wno-empty-body -Wno-missing-field-initializers -Wno-override-init -Wno-ignored-qualifiers -Wno-shift-negative-value -Wno-unused-but-set-parameter -Wno-type-limits -Wno-cast-function-type -Wextra  -m32  -fuse-ld=bfd -fno-stack-protector -Wl,--build-id=none -fno-delete-null-pointer-checks -Wlogical-op -march=i686 -mno-mmx -mno-sse -MT novacustom-nv4x_adl/ramstage/lib/rmodule.o -D__RAMSTAGE__ -c -o novacustom-nv4x_adl/ramstage/lib/rmodule.o src/lib/rmodule.c 
    CC         ramstage/lib/rtc.o
/home/user/heads-master/build/x86/coreboot-dasharo_nv4x/util/crossgcc/xgcc/bin/i386-elf-gcc -MMD -Isrc -Isrc/include -Isrc/commonlib/include -Isrc/commonlib/bsd/include -Inovacustom-nv4x_adl -I3rdparty/vboot/firmware/include -include src/include/kconfig.h -include src/include/rules.h -include src/commonlib/bsd/include/commonlib/bsd/compiler.h -I3rdparty -D__BUILD_DIR__=\"novacustom-nv4x_adl\" -D__COREBOOT__ -D__TIMELESS__ -Isrc/ec/intel -Isrc/soc/intel/alderlake -Isrc/soc/intel/alderlake/include -Isrc/drivers/intel/fsp2_0/include -I"3rdparty/fsp/AlderLakeFspBinPkg/Client/AlderLakeP/Include/" -Isrc/mainboard/clevo/adl-p/include -Isrc/soc/intel/common/basecode/include/ -Isrc/soc/intel/common/block/include/ -Isrc/soc/intel/common/pch/include/ -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include -Isrc/vendorcode/intel/edk2/edk2-stable202005/IntelFsp2Pkg/Include -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdeModulePkg/Include -Isrc/vendorcode/dasharo/include/ -Isrc/soc/intel/common/block/fast_spi -Isrc/arch/x86/include -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Ia32 -D__ARCH_x86_32__ -pipe -g -nostdinc -std=gnu11 -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wimplicit-fallthrough -Wshadow -Wdate-time -Wtype-limits -Wvla -Wold-style-definition -Wdangling-else -Wmissing-include-dirs -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -fno-pie -Wstring-compare -Wold-style-declaration -Wcast-function-type -Wno-packed-not-aligned -fconserve-stack -Wnull-dereference -Wlogical-op -Wduplicated-cond -Wno-array-compare -Werror -Os -Wno-address-of-packed-member --param=min-pagesize=1024 -Wflex-array-member-not-at-end -Wcalloc-transposed-args -Wno-unused-parameter -Wno-sign-compare -Wno-empty-body -Wno-missing-field-initializers -Wno-override-init -Wno-ignored-qualifiers -Wno-shift-negative-value -Wno-unused-but-set-parameter -Wno-type-limits -Wno-cast-function-type -Wextra  -m32  -fuse-ld=bfd -fno-stack-protector -Wl,--build-id=none -fno-delete-null-pointer-checks -Wlogical-op -march=i686 -mno-mmx -mno-sse -MT novacustom-nv4x_adl/ramstage/lib/rtc.o -D__RAMSTAGE__ -c -o novacustom-nv4x_adl/ramstage/lib/rtc.o src/lib/rtc.c 
src/soc/intel/alderlake/fsp_params.c: In function 'fill_fsps_cpu_params':
src/soc/intel/alderlake/fsp_params.c:723:22: error: 'FSP_S_CONFIG' has no member named 'CpuFeaturesInitOnS3ResumeOverride'
  723 |                 s_cfg->CpuFeaturesInitOnS3ResumeOverride = 1;
      |                      ^~
    CC         ramstage/lib/selfboot.o
/home/user/heads-master/build/x86/coreboot-dasharo_nv4x/util/crossgcc/xgcc/bin/i386-elf-gcc -MMD -Isrc -Isrc/include -Isrc/commonlib/include -Isrc/commonlib/bsd/include -Inovacustom-nv4x_adl -I3rdparty/vboot/firmware/include -include src/include/kconfig.h -include src/include/rules.h -include src/commonlib/bsd/include/commonlib/bsd/compiler.h -I3rdparty -D__BUILD_DIR__=\"novacustom-nv4x_adl\" -D__COREBOOT__ -D__TIMELESS__ -Isrc/ec/intel -Isrc/soc/intel/alderlake -Isrc/soc/intel/alderlake/include -Isrc/drivers/intel/fsp2_0/include -I"3rdparty/fsp/AlderLakeFspBinPkg/Client/AlderLakeP/Include/" -Isrc/mainboard/clevo/adl-p/include -Isrc/soc/intel/common/basecode/include/ -Isrc/soc/intel/common/block/include/ -Isrc/soc/intel/common/pch/include/ -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include -Isrc/vendorcode/intel/edk2/edk2-stable202005/IntelFsp2Pkg/Include -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdeModulePkg/Include -Isrc/vendorcode/dasharo/include/ -Isrc/soc/intel/common/block/fast_spi -Isrc/arch/x86/include -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Ia32 -D__ARCH_x86_32__ -pipe -g -nostdinc -std=gnu11 -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wimplicit-fallthrough -Wshadow -Wdate-time -Wtype-limits -Wvla -Wold-style-definition -Wdangling-else -Wmissing-include-dirs -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -fno-pie -Wstring-compare -Wold-style-declaration -Wcast-function-type -Wno-packed-not-aligned -fconserve-stack -Wnull-dereference -Wlogical-op -Wduplicated-cond -Wno-array-compare -Werror -Os -Wno-address-of-packed-member --param=min-pagesize=1024 -Wflex-array-member-not-at-end -Wcalloc-transposed-args -Wno-unused-parameter -Wno-sign-compare -Wno-empty-body -Wno-missing-field-initializers -Wno-override-init -Wno-ignored-qualifiers -Wno-shift-negative-value -Wno-unused-but-set-parameter -Wno-type-limits -Wno-cast-function-type -Wextra  -m32  -fuse-ld=bfd -fno-stack-protector -Wl,--build-id=none -fno-delete-null-pointer-checks -Wlogical-op -march=i686 -mno-mmx -mno-sse -MT novacustom-nv4x_adl/ramstage/lib/selfboot.o -D__RAMSTAGE__ -c -o novacustom-nv4x_adl/ramstage/lib/selfboot.o src/lib/selfboot.c 
    CC         ramstage/lib/smbios.o
/home/user/heads-master/build/x86/coreboot-dasharo_nv4x/util/crossgcc/xgcc/bin/i386-elf-gcc -MMD -Isrc -Isrc/include -Isrc/commonlib/include -Isrc/commonlib/bsd/include -Inovacustom-nv4x_adl -I3rdparty/vboot/firmware/include -include src/include/kconfig.h -include src/include/rules.h -include src/commonlib/bsd/include/commonlib/bsd/compiler.h -I3rdparty -D__BUILD_DIR__=\"novacustom-nv4x_adl\" -D__COREBOOT__ -D__TIMELESS__ -Isrc/ec/intel -Isrc/soc/intel/alderlake -Isrc/soc/intel/alderlake/include -Isrc/drivers/intel/fsp2_0/include -I"3rdparty/fsp/AlderLakeFspBinPkg/Client/AlderLakeP/Include/" -Isrc/mainboard/clevo/adl-p/include -Isrc/soc/intel/common/basecode/include/ -Isrc/soc/intel/common/block/include/ -Isrc/soc/intel/common/pch/include/ -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include -Isrc/vendorcode/intel/edk2/edk2-stable202005/IntelFsp2Pkg/Include -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdeModulePkg/Include -Isrc/vendorcode/dasharo/include/ -Isrc/soc/intel/common/block/fast_spi -Isrc/arch/x86/include -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Ia32 -D__ARCH_x86_32__ -pipe -g -nostdinc -std=gnu11 -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wimplicit-fallthrough -Wshadow -Wdate-time -Wtype-limits -Wvla -Wold-style-definition -Wdangling-else -Wmissing-include-dirs -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -fno-pie -Wstring-compare -Wold-style-declaration -Wcast-function-type -Wno-packed-not-aligned -fconserve-stack -Wnull-dereference -Wlogical-op -Wduplicated-cond -Wno-array-compare -Werror -Os -Wno-address-of-packed-member --param=min-pagesize=1024 -Wflex-array-member-not-at-end -Wcalloc-transposed-args -Wno-unused-parameter -Wno-sign-compare -Wno-empty-body -Wno-missing-field-initializers -Wno-override-init -Wno-ignored-qualifiers -Wno-shift-negative-value -Wno-unused-but-set-parameter -Wno-type-limits -Wno-cast-function-type -Wextra  -m32  -fuse-ld=bfd -fno-stack-protector -Wl,--build-id=none -fno-delete-null-pointer-checks -Wlogical-op -march=i686 -mno-mmx -mno-sse -MT novacustom-nv4x_adl/ramstage/lib/smbios.o -D__RAMSTAGE__ -c -o novacustom-nv4x_adl/ramstage/lib/smbios.o src/lib/smbios.c 
src/soc/intel/alderlake/fsp_params.c: In function 'fill_fsps_pcie_params':
src/soc/intel/alderlake/fsp_params.c:1080:32: error: 'FSP_S_CONFIG' has no member named 'PchPcieClockGating'; did you mean 'CpuPcieClockGating'?
 1080 |                         s_cfg->PchPcieClockGating = false;
      |                                ^~~~~~~~~~~~~~~~~~
      |                                CpuPcieClockGating
src/soc/intel/alderlake/fsp_params.c:1081:32: error: 'FSP_S_CONFIG' has no member named 'PchPciePowerGating'; did you mean 'CpuPciePowerGating'?
 1081 |                         s_cfg->PchPciePowerGating = false;
      |                                ^~~~~~~~~~~~~~~~~~
      |                                CpuPciePowerGating
    CC         ramstage/lib/smbios_defaults.o
/home/user/heads-master/build/x86/coreboot-dasharo_nv4x/util/crossgcc/xgcc/bin/i386-elf-gcc -MMD -Isrc -Isrc/include -Isrc/commonlib/include -Isrc/commonlib/bsd/include -Inovacustom-nv4x_adl -I3rdparty/vboot/firmware/include -include src/include/kconfig.h -include src/include/rules.h -include src/commonlib/bsd/include/commonlib/bsd/compiler.h -I3rdparty -D__BUILD_DIR__=\"novacustom-nv4x_adl\" -D__COREBOOT__ -D__TIMELESS__ -Isrc/ec/intel -Isrc/soc/intel/alderlake -Isrc/soc/intel/alderlake/include -Isrc/drivers/intel/fsp2_0/include -I"3rdparty/fsp/AlderLakeFspBinPkg/Client/AlderLakeP/Include/" -Isrc/mainboard/clevo/adl-p/include -Isrc/soc/intel/common/basecode/include/ -Isrc/soc/intel/common/block/include/ -Isrc/soc/intel/common/pch/include/ -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include -Isrc/vendorcode/intel/edk2/edk2-stable202005/IntelFsp2Pkg/Include -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdeModulePkg/Include -Isrc/vendorcode/dasharo/include/ -Isrc/soc/intel/common/block/fast_spi -Isrc/arch/x86/include -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Ia32 -D__ARCH_x86_32__ -pipe -g -nostdinc -std=gnu11 -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wimplicit-fallthrough -Wshadow -Wdate-time -Wtype-limits -Wvla -Wold-style-definition -Wdangling-else -Wmissing-include-dirs -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -fno-pie -Wstring-compare -Wold-style-declaration -Wcast-function-type -Wno-packed-not-aligned -fconserve-stack -Wnull-dereference -Wlogical-op -Wduplicated-cond -Wno-array-compare -Werror -Os -Wno-address-of-packed-member --param=min-pagesize=1024 -Wflex-array-member-not-at-end -Wcalloc-transposed-args -Wno-unused-parameter -Wno-sign-compare -Wno-empty-body -Wno-missing-field-initializers -Wno-override-init -Wno-ignored-qualifiers -Wno-shift-negative-value -Wno-unused-but-set-parameter -Wno-type-limits -Wno-cast-function-type -Wextra  -m32  -fuse-ld=bfd -fno-stack-protector -Wl,--build-id=none -fno-delete-null-pointer-checks -Wlogical-op -march=i686 -mno-mmx -mno-sse -MT novacustom-nv4x_adl/ramstage/lib/smbios_defaults.o -D__RAMSTAGE__ -c -o novacustom-nv4x_adl/ramstage/lib/smbios_defaults.o src/lib/smbios_defaults.c 
make[1]: *** [Makefile:448: novacustom-nv4x_adl/ramstage/soc/intel/alderlake/fsp_params.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/user/heads-master/build/x86/coreboot-dasharo_nv4x'
tail /home/user/heads-master/build/x86/log/coreboot-dasharo_nv4x.log
-----
  723 |                 s_cfg->CpuFeaturesInitOnS3ResumeOverride = 1;
      |                      ^~
    CC         ramstage/lib/selfboot.o
/home/user/heads-master/build/x86/coreboot-dasharo_nv4x/util/crossgcc/xgcc/bin/i386-elf-gcc -MMD -Isrc -Isrc/include -Isrc/commonlib/include -Isrc/commonlib/bsd/include -Inovacustom-nv4x_adl -I3rdparty/vboot/firmware/include -include src/include/kconfig.h -include src/include/rules.h -include src/commonlib/bsd/include/commonlib/bsd/compiler.h -I3rdparty -D__BUILD_DIR__=\"novacustom-nv4x_adl\" -D__COREBOOT__ -D__TIMELESS__ -Isrc/ec/intel -Isrc/soc/intel/alderlake -Isrc/soc/intel/alderlake/include -Isrc/drivers/intel/fsp2_0/include -I"3rdparty/fsp/AlderLakeFspBinPkg/Client/AlderLakeP/Include/" -Isrc/mainboard/clevo/adl-p/include -Isrc/soc/intel/common/basecode/include/ -Isrc/soc/intel/common/block/include/ -Isrc/soc/intel/common/pch/include/ -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include -Isrc/vendorcode/intel/edk2/edk2-stable202005/IntelFsp2Pkg/Include -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdeModulePkg/Include -Isrc/vendorcode/dasharo/include/ -Isrc/soc/intel/common/block/fast_spi -Isrc/arch/x86/include -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Ia32 -D__ARCH_x86_32__ -pipe -g -nostdinc -std=gnu11 -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wimplicit-fallthrough -Wshadow -Wdate-time -Wtype-limits -Wvla -Wold-style-definition -Wdangling-else -Wmissing-include-dirs -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -fno-pie -Wstring-compare -Wold-style-declaration -Wcast-function-type -Wno-packed-not-aligned -fconserve-stack -Wnull-dereference -Wlogical-op -Wduplicated-cond -Wno-array-compare -Werror -Os -Wno-address-of-packed-member --param=min-pagesize=1024 -Wflex-array-member-not-at-end -Wcalloc-transposed-args -Wno-unused-parameter -Wno-sign-compare -Wno-empty-body -Wno-missing-field-initializers -Wno-override-init -Wno-ignored-qualifiers -Wno-shift-negative-value -Wno-unused-but-set-parameter -Wno-type-limits -Wno-cast-function-type -Wextra  -m32  -fuse-ld=bfd -fno-stack-protector -Wl,--build-id=none -fno-delete-null-pointer-checks -Wlogical-op -march=i686 -mno-mmx -mno-sse -MT novacustom-nv4x_adl/ramstage/lib/selfboot.o -D__RAMSTAGE__ -c -o novacustom-nv4x_adl/ramstage/lib/selfboot.o src/lib/selfboot.c 
    CC         ramstage/lib/smbios.o
/home/user/heads-master/build/x86/coreboot-dasharo_nv4x/util/crossgcc/xgcc/bin/i386-elf-gcc -MMD -Isrc -Isrc/include -Isrc/commonlib/include -Isrc/commonlib/bsd/include -Inovacustom-nv4x_adl -I3rdparty/vboot/firmware/include -include src/include/kconfig.h -include src/include/rules.h -include src/commonlib/bsd/include/commonlib/bsd/compiler.h -I3rdparty -D__BUILD_DIR__=\"novacustom-nv4x_adl\" -D__COREBOOT__ -D__TIMELESS__ -Isrc/ec/intel -Isrc/soc/intel/alderlake -Isrc/soc/intel/alderlake/include -Isrc/drivers/intel/fsp2_0/include -I"3rdparty/fsp/AlderLakeFspBinPkg/Client/AlderLakeP/Include/" -Isrc/mainboard/clevo/adl-p/include -Isrc/soc/intel/common/basecode/include/ -Isrc/soc/intel/common/block/include/ -Isrc/soc/intel/common/pch/include/ -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include -Isrc/vendorcode/intel/edk2/edk2-stable202005/IntelFsp2Pkg/Include -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdeModulePkg/Include -Isrc/vendorcode/dasharo/include/ -Isrc/soc/intel/common/block/fast_spi -Isrc/arch/x86/include -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Ia32 -D__ARCH_x86_32__ -pipe -g -nostdinc -std=gnu11 -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wimplicit-fallthrough -Wshadow -Wdate-time -Wtype-limits -Wvla -Wold-style-definition -Wdangling-else -Wmissing-include-dirs -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -fno-pie -Wstring-compare -Wold-style-declaration -Wcast-function-type -Wno-packed-not-aligned -fconserve-stack -Wnull-dereference -Wlogical-op -Wduplicated-cond -Wno-array-compare -Werror -Os -Wno-address-of-packed-member --param=min-pagesize=1024 -Wflex-array-member-not-at-end -Wcalloc-transposed-args -Wno-unused-parameter -Wno-sign-compare -Wno-empty-body -Wno-missing-field-initializers -Wno-override-init -Wno-ignored-qualifiers -Wno-shift-negative-value -Wno-unused-but-set-parameter -Wno-type-limits -Wno-cast-function-type -Wextra  -m32  -fuse-ld=bfd -fno-stack-protector -Wl,--build-id=none -fno-delete-null-pointer-checks -Wlogical-op -march=i686 -mno-mmx -mno-sse -MT novacustom-nv4x_adl/ramstage/lib/smbios.o -D__RAMSTAGE__ -c -o novacustom-nv4x_adl/ramstage/lib/smbios.o src/lib/smbios.c 
src/soc/intel/alderlake/fsp_params.c: In function 'fill_fsps_pcie_params':
src/soc/intel/alderlake/fsp_params.c:1080:32: error: 'FSP_S_CONFIG' has no member named 'PchPcieClockGating'; did you mean 'CpuPcieClockGating'?
 1080 |                         s_cfg->PchPcieClockGating = false;
      |                                ^~~~~~~~~~~~~~~~~~
      |                                CpuPcieClockGating
src/soc/intel/alderlake/fsp_params.c:1081:32: error: 'FSP_S_CONFIG' has no member named 'PchPciePowerGating'; did you mean 'CpuPciePowerGating'?
 1081 |                         s_cfg->PchPciePowerGating = false;
      |                                ^~~~~~~~~~~~~~~~~~
      |                                CpuPciePowerGating
    CC         ramstage/lib/smbios_defaults.o
/home/user/heads-master/build/x86/coreboot-dasharo_nv4x/util/crossgcc/xgcc/bin/i386-elf-gcc -MMD -Isrc -Isrc/include -Isrc/commonlib/include -Isrc/commonlib/bsd/include -Inovacustom-nv4x_adl -I3rdparty/vboot/firmware/include -include src/include/kconfig.h -include src/include/rules.h -include src/commonlib/bsd/include/commonlib/bsd/compiler.h -I3rdparty -D__BUILD_DIR__=\"novacustom-nv4x_adl\" -D__COREBOOT__ -D__TIMELESS__ -Isrc/ec/intel -Isrc/soc/intel/alderlake -Isrc/soc/intel/alderlake/include -Isrc/drivers/intel/fsp2_0/include -I"3rdparty/fsp/AlderLakeFspBinPkg/Client/AlderLakeP/Include/" -Isrc/mainboard/clevo/adl-p/include -Isrc/soc/intel/common/basecode/include/ -Isrc/soc/intel/common/block/include/ -Isrc/soc/intel/common/pch/include/ -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include -Isrc/vendorcode/intel/edk2/edk2-stable202005/IntelFsp2Pkg/Include -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdeModulePkg/Include -Isrc/vendorcode/dasharo/include/ -Isrc/soc/intel/common/block/fast_spi -Isrc/arch/x86/include -Isrc/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Ia32 -D__ARCH_x86_32__ -pipe -g -nostdinc -std=gnu11 -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wimplicit-fallthrough -Wshadow -Wdate-time -Wtype-limits -Wvla -Wold-style-definition -Wdangling-else -Wmissing-include-dirs -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -fno-pie -Wstring-compare -Wold-style-declaration -Wcast-function-type -Wno-packed-not-aligned -fconserve-stack -Wnull-dereference -Wlogical-op -Wduplicated-cond -Wno-array-compare -Werror -Os -Wno-address-of-packed-member --param=min-pagesize=1024 -Wflex-array-member-not-at-end -Wcalloc-transposed-args -Wno-unused-parameter -Wno-sign-compare -Wno-empty-body -Wno-missing-field-initializers -Wno-override-init -Wno-ignored-qualifiers -Wno-shift-negative-value -Wno-unused-but-set-parameter -Wno-type-limits -Wno-cast-function-type -Wextra  -m32  -fuse-ld=bfd -fno-stack-protector -Wl,--build-id=none -fno-delete-null-pointer-checks -Wlogical-op -march=i686 -mno-mmx -mno-sse -MT novacustom-nv4x_adl/ramstage/lib/smbios_defaults.o -D__RAMSTAGE__ -c -o novacustom-nv4x_adl/ramstage/lib/smbios_defaults.o src/lib/smbios_defaults.c 
make[1]: *** [Makefile:448: novacustom-nv4x_adl/ramstage/soc/intel/alderlake/fsp_params.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/user/heads-master/build/x86/coreboot-dasharo_nv4x'
make: *** [Makefile:683: /home/user/heads-master/build/x86/coreboot-dasharo_nv4x/novacustom-nv4x_adl/.build] Error 1

@tlaurion
Copy link
Copy Markdown
Collaborator

tlaurion commented Apr 11, 2026

Also trying to build, and accumulate workspace caches so rebuilds of heads do not take forever and abuse circleci free tier compute time, since number of coreboot forks exploded in recent years but now buildstacks are also tag specific mostly per board variant and cannot reuse coreboot upstream release tarballs....

Will see if new approach works under last commit under #2039 which attempts to combine buildstack per tag shared to build boards. per arch and then save_cache. Will see.

@tlaurion
Copy link
Copy Markdown
Collaborator

@tlaurion yes I managed to successfully flash, run, and boot Qubes OS (on v56) and DTS (both v56 and v54).

Booting from right side usb thumb drive usb-a port results in:

PXL_20260411_192950877.jpg

Fine on left side one.

@tlaurion
Copy link
Copy Markdown
Collaborator

tlaurion commented Apr 11, 2026

  • CONFIG_USE_PC_CMOS_ALTCENTURY=y - explanation: necessary, the byte is present and valid on MTL, after unsetting this option I get a System Time Incorrect prompt on each boot.

Which requires setting time to it by guidance once after disconnecting cmos battery so totp is good? That way if system clock is < 2023 or some, Heads triggers for time correction. Was tested in original PR per external flashing.

@tlaurion
Copy link
Copy Markdown
Collaborator

I didn't run into the flashing issue since I was flashing from our EDK2 release, where we'd switched from Clevo to Notebook quite a while ago.

We agreed on string to use on original port.

I'm not sure if there's any problem settling for the Clevo string for heads releases though, @mkopec do you know of any contraindications? Should there be any, you can still flash with flashprog -p internal:boardmismatch=force in the recovery shell, as is prompted in your screenshots.

Exactly, this would break UX, we can't expect users to type those manually. Internal upgrade should be as easy as selecting flashing option, user selecting zip file and be happy.

Q: is a plugged required for ec upgrade or usbc ok?

@filipleple
Copy link
Copy Markdown
Contributor Author

filipleple commented Apr 13, 2026

Which requires setting time to it by guidance once after disconnecting cmos battery so totp is good? That way if system clock is < 2023 or some, Heads triggers for time correction. Was tested in original or per external flashing.

@tlaurion Right, for this condition to get triggered the ALTCENTURY must be off, so I've now disabled it

Q: is a plugged required for ec upgrade or usbc ok?

I'm pretty sure it has to be the barrel jack power connector plugged in.

Booting from right side usb thumb drive usb-a port results in kernel panic

I can't manage to reproduce this, v56 nor v54, DTS nor Fedora installer. With Qubes, please note that it's necessary to use the kernel-latest option for reliable meteorlake support

nv4x_adl does't build local for me still

Pushed updated config, builds now, boots into DTS and Qubes

modules/coreboot Outdated
sed -i '/^CONFIG_MAINBOARD_SMBIOS_MANUFACTURER/d' $(build)/$(coreboot_dir)/.config; \
echo 'CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="$(CONFIG_COREBOOT_SMBIOS_MANUFACTURER)"' >> $(build)/$(coreboot_dir)/.config; \
fi; \
sed -i 's|@COREBOOT_BUILD_DIR@|$(build)/$(coreboot_dir)|g' "$(build)/$(coreboot_dir)/.config"; \
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is @COREBOOT_BUILD_DIR@ actually used somewhere?

Copy link
Copy Markdown
Collaborator

@tlaurion tlaurion Apr 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry about d69667d can't push in this branch but no, COREBOOT_BUILD_DIR is not desired.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed 332f0ee

@tlaurion
Copy link
Copy Markdown
Collaborator

@filipleple ns50 also needs fixes as nv4x_adl

tlaurion added a commit that referenced this pull request Apr 14, 2026
- Re-enable CONFIG_DASHARO_FIRMWARE_UPDATE_MODE=y (was incorrectly disabled)
- Enable CONFIG_DRIVERS_GENERIC_CBFS_SERIAL=y (required for Dasharo)
- Re-enable CONFIG_USE_PC_CMOS_ALTCENTURY=y (reverted broken commit)
- Disable bootsplash (CONFIG_BOOTSPLASH=n, CONFIG_BOOTSPLASH_IMAGE=n)
- Remove unused @COREBOOT_BUILD_DIR@ sed replacement in modules/coreboot
filipleple and others added 11 commits April 14, 2026 09:06
…port

- config/coreboot-novacustom-v560tu.config: switch EC from SYSTEM76_EC
  to DASHARO_EC (CONFIG_EC_DASHARO_EC=y, _UPDATE=y, _UPDATE_FILE="ec.rom"),
  matching the v540tu change already in this branch

- modules/dasharo-ec: strip UNTESTED_/EOL_ board name prefixes before
  the board model mapping so that boards not yet promoted (e.g.
  UNTESTED_nitropad-ns50) resolve correctly without a separate entry

- modules/dasharo-ec: add board model mappings for novacustom-nv4x_adl
  (ns5x_adl - nv4x_adl) and nitropad-ns50 (ns5x_adl)

- modules/dasharo-ec: drop redundant sh -c wrapper from cp recipe;
  Make already invokes recipe lines via the shell

- modules/dasharo-ec: replace dd seek-based padding with
  truncate --size=128KiB, as suggested in review (ec.rom is always
  smaller than 128 KiB)

- modules/dasharo-ec: indent ifeq variable assignments with a tab for
  readability

Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
…nges

When the coreboot git commit changes (canary mismatch), remove and recreate
the board-specific build directories to prevent stale artifacts from causing
compilation failures.

This eliminates the need for manual `rm -rf build/x86/BOARD` before rebuilding
after coreboot canary updates in development cycles (when creating patches).

One currently still has to, eg:
echo "bogues repo url + commit hash" | sudo tee /home/user/heads/build/x86/coreboot-25.09/.canary

Current logic then:
1. Detects canary changes and triggers repository cleanup
2. Removes both Heads board directory (build/x86/BOARD) and coreboot board
   directory (build/x86/coreboot-*/BOARD) that contain stale build artifacts
3. Recreates empty board directories for the subsequent build
4. Allows patches to apply cleanly without Ada compilation errors

This ensures Ada builds work correctly after coreboot updates without manual
intervention (resync repo, apply patches, clean artifact dirs and rebuilds only what changed).

Signed-off-by: Thierry Laurion <insurgo@riseup.net>
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
…g (Improve performance by lowering the EPP value from the power-on default of 0xb3 (70%) to 0x73 (45%). Lower value = higher performance.)

Test fix for Dasharo/dasharo-issues#1711

related:

- linuxboot#2039
- Dasharo/dasharo-issues#1711
- linuxboot#1894

Signed-off-by: Thierry Laurion <insurgo@riseup.net>
…nreleased

The coreboot module for NovaCustom MTL boards was renamed from
'dasharo' to 'dasharo_v56'. The Heads patch system resolves patch
directories as <module_name>[-<patch_version>], so with module
coreboot-dasharo_v56 and patch_version=unreleased the expected path
is patches/coreboot-dasharo_v56-unreleased/.

Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
@filipleple
Copy link
Copy Markdown
Contributor Author

@tlaurion added ns50: 4027c1e

@tlaurion
Copy link
Copy Markdown
Collaborator

@filipleple @SergiiDmytruk please review #2039 (comment) and feel free to sqaush all of those here

tlaurion added a commit that referenced this pull request Apr 15, 2026
Disabling CMOS_ALTCENTURY was decided in PR #2082 discussion.
These two boards regressed from origin/master where it is disabled.
Matches v540tu and ns50 which are already disabled.

Note: SMBIOS strings (MAINBOARD_VENDOR, MAINBOARD_SMBIOS_MANUFACTURER,
MAINBOARD_SMBIOS_PRODUCT_NAME) are intentionally preserved as-is per
origin/master. These values are required by flashprog for ROM
identification (current ROM vs ROM to flash) and must not change.

Fixes: unaddressed comment by filipleple on PR #2039
Signed-off-by: Thierry Laurion <insurgo@riseup.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants